package com.itheima.d3_transform_stream;

import java.io.*;

/**
 * 目标：掌握字符输出转换流的使用。
 *
 * OutputStreamWriter是一个字符流，基本的写出方法writer和FileWriter的用法是一样的
 * 重点：如何构建字符转换输出流的对象，需要指定字节输出流关联文件，指定字符集
 * public OutputStreamWriter(字节输出流,字符集)
 */
public class Test3OutputStreamWriter {
    public static void main(String[] args) {
        //需求：写一首诗《咏鹅》，以GBK字符集进行编码输出到文件中

        //1、创建流（字节输出流，字符转换输出流，并且指定GBK）
        try (FileOutputStream fos = new FileOutputStream("day10io-app2/file/咏鹅.txt");
             OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");
             BufferedWriter bw = new BufferedWriter(osw); //可以进一步包装为高效输出流
        ) {

//            osw.write("《咏鹅》" + System.lineSeparator());
            bw.write("《咏鹅》");
            bw.newLine();
            bw.write("骆宾王");
            bw.newLine();
            bw.write("鹅鹅鹅，");
            bw.newLine();
            bw.write("曲项向天歌。");
            bw.newLine();
            bw.write("白毛浮绿水，");
            bw.newLine();
            bw.write("红掌拨清波。");
            bw.newLine();


        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
